Datum:	03.12.97

Beschreibung der Schnittstellenkommandos

Gültig für Oszilloskope:

HM305-2, HM404, HM407, HM1004-2, HM1505-2, HM1507, HM1507-2

RS-232 Kabel

Zum Anschluß des Scopes an ein externes Gerät wird ein 9- poliges, serielles Schnittstellenkabel (1:1 Verbindung, d. h. ohne Leitungskreuzungen) benötigt.

Baudrateneinstellung

Vor Nutzung der RS232 Schnittstelle muß diese initialisiert werden. Dies erfolgt nach dem POWER-UP (Einschalten) mit dem ersten Senden von SPACE CR (20 hex., 0D hex.). Damit wird automatisch die Baudrate eingestellt. Erkannt werden folgende Baudraten:

110	Baud	4800	Baud
150	Baud	9600	Baud
300	Baud	19200	Baud
600	Baud	38400	Baud (1.19
1200	Baud	56700	Baud (1.19
2400	Baud	115200	Baud (1.19

Datenübertragungsformat:	keine Parität, Datenlänge 8 Bit,

2 Stoppbit, RTS/CTS Handshake

Besitzt der PC einen COM Anschluß mit FIFO Puffer, so ist die maximale Tiefe des Sendepuffers auf 8 Byte einzustellen.

Die eingestellte  Baudrate bleibt bis zum POWER-DOWN (Ausschalten) oder bis zum Aufheben des Remote-Zustandes durch das Kommando RM0, bzw. Betätigen der Taste LOCAL (AUTOSET-Taste), falls diese nicht gesperrt wurde(LK=0), erhalten.

Nach Aufheben des Remote-Zustandes kann die Datenübertragung nur mit Senden von SPACE CR wieder aufgenommen werden.

Erkennt das Scope kein SPACE CR als erstes Zeichen oder liegt an der RTS Leitung länger als ca. 2 Sekunden Low-Pegel, verläßt das Scope den Remote-Zustand und legt TxD für ca. 0,3s auf Low und erzeugt damit einen Rahmenfehler.

Hat das Scope SPACE CR erkannt und seine Baudrate eingestellt, antwortet es mit dem RETURNCODE (0 CR LF).

Wird die Taste LOCAL im Remote-ON Zustand betätigt, sendet das Scope ESC RMLK=0 (ESC=1B hex.) und verläßt den Remote-Zustand. Die Zeit zwischen dem Empfangen des Remote-OFF-Returncodes und Remote-ON muß mindestens

betragen.

Datenübertragung

Nach erfolgreicher Baudrateneinstellung befindet sich das Scope im Remote-Zustand und ist zur Entgegennahme von Kommandos bereit. Groß- und Kleinschreibung der Kommandos ist zulässig. Kommandos lassen sich in 2 prinzipielle Gruppen einteilen:

Parameterabfrage

Diese Kommandogruppe ist durch ein Fragezeichen nach dem Kommando gekennzeichnet. Wird solch ein Kommando an das Scope gesendet, antwortet dieses mit der Wiederholung der Syntax, gefolgt von einem Doppelpunkt und den angeforderten Parametern. Diese können je nach Kommando Binär- oder ASCII-Daten sein. Die Anzahl der zu empfangenden Daten ist kommandoabhängig und kann aus der Kommandobeschreibung entnommen werden.

Beispiel:	Kommando zum Scope:	VERS?

Antwort:	VERS:FC1.01 DG1.02

Parameter setzen

Mit diesen Befehlen können Parameter des Scopes beeinflußt werden. Dabei wird zwischen Kommandos mit und ohne Parameterübergabe unterschieden.

Beispiel:	Kommando zum Scope:	LK=1

Antwort:	Returncode

Beispiel:	Kommando zum Scope:	RES

Antwort:	Returncode

Alle Kommandos geben entweder Parameter zurück oder einen RETURNCODE im ASCII Format (s. Kommandobeschreibung). Bevor ein neues Kommando zum Scope gesendet werden kann, müssen alle Parameter bzw. der Returncode vom vorherigen Kommando abgewartet werden.

WORD-Parameter erwarten erst das Low-Byte, dann das High-Byte. Die Einstellung des Scope erfolgt über das Geräte-Daten-Feld (DeviceDataField DDF) als binary array. Jedes Byte dieses Datenfeldes kann aber auch über Einzelkommandos erreicht werden.

Den Aufbau des Gerätedatenfeldes und die zugehörigen Einzelkommandos zeigen folgende Tabellen.

Zeichendefinition für Kommandos

Anfrage ?	fragt Parameter an
Zuordnung =	setzt Parameter
Zustand :	gibt aktuelle Parameter an
Binärdaten b	Datenfeld sind Binärdaten 1 Byte
ASCII-Daten a	Datenfeld sind ASCII-Daten 1 Byte
WORD (2 Byte) w	Datenfeld besteht aus 2 Byte (Low-, High-Byte)
ASCII-Daten ARRAY	Datenfeld sind ASCII-Daten
Binärdaten array	Datenfeld sind Binärdaten
Endezeichen CR LF	Carriage Return und/oder Linefeed
Returncode R	ASCII Parameter
Parameter x	x steht für A bzw. B
Parameter z	z steht für 1 bzw. 2

Kommandotabelle:

Kommando: PC -> Scope	Rückgabe Scope -> PC	Beschreibung
AUTOSET	(R CR LF)	AUTO SET Funktion wird ausgeführt
AVRNM? (3	AVRNM:(b)	AVERAGE NUMBER OF ACQUISITION liefert die Anzahl der Signalerfassungen die zur Mittelwertbildung benutzt werden b = 01 hex.: 2^1 = 2 Erfassungen b = 02 hex.: 2^2 = 4 Erfassungen ... b = 09 hex.: 2^9 = 512 Erfassungen
AVRNM=(b) (3	(R CR LF)	AVERAGE NUMBER OF ACQUISITION  setzt die Anzahl der Signalerfassungen die zur Mittelwertbildung benutzt werden
AVRNMSW? (3 (5	AVRQTSW:(a)	AVERAGE NUMBER OF ACQUISITION  SWITCH liefert Funktion der Store Up/Dwn Tasten a = 0: Store Up/Dwn Tasten ändern Store Mode a = 1: Store Up/Dwn Tasten ändern Average Number of Acquisition
AVRNMSW=(a) (3(5	(R CR LF)	AVERAGE NUMBER OF ACQUISITION setzt Average Number of Acquisition Switch
BELL=(a)	(R CR LF)	Tonausgabe a = 0: Tasten OK Ton a = 1: Tasten ERROR Ton a = 2: ERROR (langer Ton) a = 3: 2 kurze Töne a = 4: 3 kurze Töne a = 5: 6 kurze Töne
CH<z>?	CH<z>:(b)	liefert CH1/2 Einstellungen siehe Tabelle Gerätedatenfeld DDF
CH<z>=(b)	(R CR LF)	setzt CH1/2 Einstellungen siehe Tabelle Gerätedatenfeld DDF
CH<z>VAR?	CH<z>VAR:(b)	liefert CH1/2 VARI-GAIN Einstellung b = FF hex.: CH<z> (1 oder 2) kalibriert
CH<z>VAR=(b)	(R CR LF)	setzt CH1/2 VARI-GAIN Einstellung
CTRLBP?	CTRLBP:(a)	liefert CONTROL BEEP Einstellung a = 0: Aus (Tastenbetätigung ohne Kontrollton) a = 1: Ein
CTRLBP=(a)	(R CR LF)	setzt CONTROL BEEP Einstellung
DDF?	DDF:(array)	liefert DEVICE DATA FIELD siehe Tabelle Gerätedatenfeld DDF (4 Byte Kommando + 14 Byte Param. )
DDF=(array)	(R CR LF)	setzt neues DEVICE DATA FIELD siehe Tabelle Gerätedatenfeld DDF
DDF1?	DDF1:(array)	liefert DEVICE DATA FIELD1 siehe Tabelle Gerätedatenfeld1 DDF1 (5 Byte Kommando + 16 Byte Param. )
DDF1=(array)	(R CR LF)	setzt neues DEVICE DATA FIELD1 siehe Tabelle Gerätedatenfeld1 DDF1
DELPOS?	DELPOS:(w)	liefert DELAY POS.(12 Bit) w = 000 hex.: kürzeste DELAY-Time
DELPOS=(w)	(R CR LF)	setzt DELAY POS.(12 Bit)
ERRBP?	ERRBP:(a)	liefert ERROR BEEP Einstellung a = 0: Aus (keine Error-Tonausgabe) a = 1: Ein (mit Error-Tonausgabe)
ERRBP=(a)	(R CR LF)	setzt ERROR BEEP
ERRMSGE?	ERRMSGE:(a)	liefert ERROR MESSAGE Einstellung a = 0: Aus (Errormeldungen werden nur zur Schnittstelle gesendet) a = 1: Ein (Errormeldungen werden mit dem Readout dargestellt und zur Schnittstelle gesendet)
ERRMSGE=(a)	(R CR LF)	setzt ERROR MESSAGE Einstellung
FCCMD? (1.1	FCCMD:(a)	FRONT CONTROLLER COMMAND gibt Auskunft ob das Scope manuell bedient wurde Wird mit jeder Abfrage zurückgesetzt. a = 0: Scope wurde nicht manuell bedient a = 1: Scope wurde manuell bedient
HLD<z>POS? (3	HLD<z>POS:(b)	liefert HOLD 1/2 POSITION nachträglich nach HOLD vorgenommene Y-Verschiebung bezogen auf Speicherposition b = 00 hex.: Position maximal nach oben verschoben
HLD<z>POS=(b)(3	(R CR LF)	setzen HOLD 1/2 POSITION
HOLDOFF?	HOLDOFF:(b)	liefert HOLD OFF Wert b = 00 hex.: kürzeste Holdoff-Zeit
HOLDOFF=(b)	(R CR LF)	setzt HOLD OFF Wert
HORMODE?	HORMODE:(b)	liefert HORIZONTAL MODE Einstellung siehe Tabelle Gerätedatenfeld DDF
HORMODE=(b)	(R CR LF)	setzt HORIZONTAL MODE Einstellung  siehe Tabelle Gerätedatenfeld DDF
HLDWFM? (3	HOLDWFM:(a)	HOLD WAVE FORM liefert HOLD Funktionseinstellung im Speicherbetrieb a = 0: Aus (HOLD abgeschaltet) a = 1: Ein (HOLD eingeschaltet)
HLDWFM=(a) (3	(R CR LF)	HOLD WAVE FORM  setzt HOLD Einstellung
ID?	ID: (ARRAY)(CR LF)	IDENTIFICATION (Hardware) liefert Gerätenamen und Hardwarekennbytes (3 Byte Kommando + 27 Byte Param. )
INT<x>?	INT<x>:(b)	liefert INTENS A/B(9 Wert b = 00 hex.: Strahl dunkel Zeitbasis <x> (A oder B(9)
INT<x>=(b)	(R CR LF)	setzt INTENS A/B(9 Wert
INTRO?	INTRO:(b)	liefert INTENS READ OUT Wert b = 00 hex.: Readout dunkel
INTRO=(b)	(R CR LF)	setzt INTENS READ OUT Wert
LK?	LK:(a)	liefert Funktion der LOCAL LOCK OUT Taste (AUTO SET) a = 0: verriegelt a = 1: frei (mit Betätigung der AUTOSET Taste wird der Remote Modus verlassen und RMLK=0 zur Schnittstelle gesendet)
LK=(a)	[R](CR LF)	setzen der LOCAL LOCK OUT Funktion
PSINT?	PSINT:(a)	liefert PULSE SWITCH INTENS Funktion des Drehgebers: INTENS a = 0: INT A (Intens. Strahl A) a = 1: INT RO (Intens. Readout) a = 2: INT B (Intens. Strahl B) (9
PSINT=(a)	(R CR LF)	setzt PULSE SWITCH INTENS Funktion des Drehgebers: INTENS
PSY1POS?	PSY1POS:(a)	liefert PULSE SWITCH Y 1  POSITION Funktion des Drehgebers: Y-POS. I a = 0: Y1-Positionseinstellung a = 3: Y-Positionseinstellung der Zeitbasis B (Tracesep.) im alternierenden Zeitbasisbetrieb  (9
PSY1POS=(a)	(R CR LF)	setzt PULSE SWITCH Y 1  POSITION (Funktion des Drehgebers: Y-POS. I)
PSY2POS?	PSY2POS: (a CR LF)	liefert PULSE SWITCH Y 2  POSITION Funktion des Drehgebers: Y-POS. II a = 0: Y2-Positionseinstellung
PSY2POS=(a)	(R CR LF)	setzt PULSE SWITCH Y 2  POSITION Funktion des Drehgebers: Y-POS. II
PSTB?	PSTB:(a)	liefert PULSE SWITCH TB Funktion des Drehgebers: TIME/DIV. a = 0: GROB (1-2-5 Sequenz) a = 1: FEIN (variabel, abhängig von der Zeitbasisbetriebsart A oder B)
PSTB=(a)	(R CR LF)	setzt PULSE SWITCH TB Funktion des Drehgebers: TIME/DIV.
PSCH<z>?	PSCH<z>:(a)	liefert PULSE SWITCH CH1/2 Funktion des Drehgebers:VOLTS/DIV (CH I oder CH II) a = 0: CHI oder II GROB (1-2-5 Sequenz) a = 1: CHI oder II FEIN (variabel)
PSCH<z>=(a)	(R CR LF)	setzt PULSE SWITCH CH1/2 Funktion des Drehgebers:VOLTS/DIV (CH I oder CH II)
QUICKST? (1.05	QUICKST:(a)	liefert QUICK START MODUS a = 0: QUICK START Aus a = 1: QUICK START Ein
QUICKST=(a) (1.05	(R CR LF)	setzt QUICK START MODUS
RDWFM<z>: (w w)(3 (7 1.WORD Offset hex. (2 KByt) 2.WORD Länge hex. (2 KByt)	RDWFM<z>: (W W array) (7	READ WAVE FORM 1/2 liefert Signaldaten von Kanal <z> (1 oder 2), ab Offsetadresse (erstes WORD) mit angegebener Länge (zweites WORD) Offset + Länge max. 2 kByte Komplette Übertragung von Kanal 1: Offset=0, Länge=2048 dez. (2 kByte) RDWFM1:00000008 (Zahlen in hex.) Daten der rechten Kurvenhälfte von Kanal 2: Offset=1024 dez., Länge=1024 dez. RDWFM2:00040004 (Zahlen in hex.)
READOUT?	READOUT:(a)	liefert READOUT Einstellung a = 0: Readout Aus a = 1: Readout Ein
READOUT=(a)	(R CR LF)	setzt READOUT Einstellung
RDREF<z>: (w w)(3 (7 1.WORD Offset hex. (2 KByt) 2.WORD Länge hex. (2 KByt)	RDREF<z>: (W W array) (7	READ REFERENZ 1/2 liefert Signaldaten von Referenzspeicher <z> (1 oder 2), ab Offsetadresse (erstes WORD) mit angegebener Länge (zweites WORD) Offset + Länge max. 2 kByte Siehe RDWFM<z>
RECDF=(a)	(R CR LF)	RECALL DDF liest Gerätedatenfeld aus dem SAVE/ RECALL-Speicher (a = 1 ... 9) und stellt das Scope danach ein
REF<z>POS? (3	REF<z>POS:(b)	liefert REF 1/2 POSITION Y Position der Referennzkurven im Digitalbetrieb b = FF hex. REF<z> max. nach oben verschoben
REF<z>POS=(b)(3	(R CR LF)	setzt REF 1/2 POSITION
REF<z>PRE? (3	REF<z>PRE: (array)	REFERENZ 1/2 PREAMBLE  setzt das Scope in dem Zustand, mit dem die Referenzkurve abgespeichert wurde Außerdem werden Informationen zum PC gesendet. array: 1.WORD: Zum Triggerzeitpunkt vorliegende Speicheradresse 2.WORD: X-Auflösung = 200 Bit/DIV 3.WORD: Y-Auflösung = 25 Bit/DIV 4.WORD: Y1-Position normiert auf den Wert von WORD 3 (Integerwert) 5.WORD:  Y2-Position normiert auf den Wert von WORD 3 (Integerwert)
RES(CR LF) (2	(R CR LF)	setzt RESET Funktion im SINGLE-Betrieb
RM0(CR LF)	(R CR LF)	REMOTE verlassen des Remotzustandes
RREFPRE (3	(R CR LF)	RECALL REFERENZ PREAMBLE setzt das Scope in den Zustand, in dem die aktuelle Aufnahme als Referenz abgespeichert wurde (HM1507/1507-2: Sind beide Referenzkurven eingeschalten wird REF1 Preamble geladen)
RODDF?	RODDF:(array)	liefert READ OUT DEVICE DATA  FIELD (RO-Geräte-Datenfeld) (6 Byte Kommando + 10 Byte Param. ) siehe Tabelle Readoutdatenfeld RODDF
RODDF=(array)	(R CR LF)	setzt neues READ OUT DEVICE DATA  FIELD  (RO-Geräte-Datenfeld)
SAVEDF=(a)	(R CR LF)	SAVE DEVICE DATA FIELD Speichert die aktuelle Geräteeinstellung im SAVE/RECALL-Speicher auf Speicherplatz a (a = 1 ... 9)
SAVREF<z> (CR LF) (3	(R CR LF)	SAVE REFERENZ 1/2 speichert im STORE MODE die aktuellen Signaldaten im Referenz <z> (1 oder 2) -Speicher
STRMODE? (3	STRMODE:(b)	liefert STORE MODE siehe Tabelle Gerätedatenfeld DDF
STRMODE=(b) (3	(R CR LF)	setzt STORE MODE siehe Tabelle Gerätedatenfeld DDF
TB<x>?	(R CR LF)	TIMEBASE A/B setzt Zeitbasis A/B Einstellung siehe Tabelle Gerätedatenfeld DDF
TB<x>=(b)	TB<x>:(b)	TIMEBASE A/B liefert Zeitbasis A/B Einstellung siehe Tabelle Gerätedatenfeld DDF
TB<x>VAR?	TB<x>VAR:(w)	liefert TIMEBASE A/B VAR Einstellung (10 Bit) w = 000 hex.: TB<x> (A oder B) kalibriert w = 001 .. 3FF hex.: TB<x> unkalibriert
TB<x>VAR=(w)	(R CR LF)	setzt TIMEBASE A/B VAR Einstellung(10 Bit)
TRIG?	TRIG:(b)	liefert TRIGGER Parameter siehe Tabelle Gerätedatenfeld DDF
TRIG=(b)	(R CR LF)	setzt TRIGGER Parameter siehe Tabelle Gerätedatenfeld DDF
TRSEP? (9	TRSEP:(b)	liefert TRACE SEP. Y Position der B-Zeitbasis bezogen auf die Y-Position der A-Zeitbasis b = 00 hex.: B maximal oberhalb A b = FF hex.: B maximal unterhalb A b = 80 hex.: Y-Position B = Y-Position A
TRSEP=(b) (9	(R CR LF)	setzt TRACE SEP.
TRGSTA?	TRGSTA:(b) TRGSTA:(a) (1.17	liefert TRIGGERSTATUS a(bzw. b) = 0: Gerät triggert nicht a(bzw. b) = 1: Gerät triggert a(bzw. b) = 2: Gerät ist im SINGLE RESET MODUS oder Erfassung noch nicht komplett
TRGSTA(CR LF)	(R CR LF)	TRIGGERSTATUS reset Automatik-Mono-Flop (200ms) Ermöglicht sofortige Abfrage mit TRGSTA?.
TRGVAL?	TRGVAL:(array)	TRIGGERVALUE liefert Triggersignal- Spannungswerte (gemessen am Triggerverstärker) array: 16 Bit INTEGER; 1.WORD: positiver Spitzenwert 2.WORD: negativer Spitzenwert 3.WORD: Spitze-Spitze Wert 4.WORD: DC Trigger Arbeitspkt (Bezugswert) Bewertung:  - WORD 1-3 : ca. 20mV/LSB  - WORD 4 : ca. 5mV/LSB und 250mV/DIV (2.00: 1.WORD: positiver Spitzenwert 2.WORD: negativer Spitzenwert 3.WORD: arithmetischer Mittelwert 4.WORD: reserviert Bewertung: 1000 Bit/DIV
TRGLEV<x>?	TRGLEV<x>:(w)	liefert TRIGGER-LEVEL A/B Einstellung (10 Bit)  w = 3FF hex.: max. positiv (Rechtsanschlag) w = 000 hex.: max. negativ (Linkssanschlag)
TRGLEV<x>=(w)	(R CR LF)	setzt TRIGGER-LEVEL A/B Einstellung (10 Bit)
VERMODE?	VERMODE:(b)	liefert VERTICAL MODE (Vertikaleinstellung) siehe Tabelle Gerätedatenfeld DDF
VERMODE=(b)	(R CR LF)	setzt VERTICAL MODE (Vertikaleinstellung) siehe Tabelle Gerätedatenfeld DDF
VERS?	VERS:(ARRAY)	liefert SOFTWAREVERSIONen 5 Byte Kommando + 15 Byte Parameter
WFMPRE? (3	WFMPRE:(array)	WAVE FORM PREAMBLE Liefert Daten zu abgespeicherten Kurven array: 1.WORD: Zum Triggerzeitpunkt vorliegende Speicheradresse 2.WORD: X-Auflösung = 200 Bit/DIV 3.WORD: Y-Auflösung = 25 Bit/DIV 4.WORD: Y1 Position normiert auf Wert von WORD 3 (Integerwert) 5.WORD: Y2 Position normiert auf Wert von WORD 3 (Integerwert)
WRREF<z>: (3 (6 (7 (w w array) 1.WORD Offset hex. (2 KByt) 2.WORD Länge  hex. (2 KByt)	(R CR LF)	WRITE REFERENZ 1/2 schriebt Signaldaten in Referenzspeicher <z> (1 oder 2), ab Offset-Adresse (erstes WORD) mit angegebener Länge (zweites WORD) Offset + Länge max. 2 KByte Siehe RDWFM<z>
XPOS?	XPOS:(w)	liefert X-POSITION Einstellung (10 Bit) w = 3FF hex.: Rechtsanschlag w = 000 hex.: Linksanschlag (1.1: 16 Bit INTEGER Werte im Zweierkomplement bezogen auf Rastermitte (1000 bit/DIV) (10
XPOS=(w)	(R CR LF)	setzt X-POSITION Einstellung (10 Bit) (1.1: (16 Bit INTEGER)
Y<z>POS?	Y<z>POS:(w)	Y 1/2 POSITION  liefert CH<z> (1 oder 2) Positionseinstellung (10Bit) w = 3FF hex.: Y Position maximal nach oben w = 000 hex.: Y Position maximal nach unten (1.1: 16 Bit INTEGER Werte im Zweierkomplement bezogen auf Rastermitte (1000 bit/DIV) (10
Y<z>POS=(w)	(R CR LF)	Y 1/2 POSITION setzt CH<z> (1 oder 2) Positionseinstellung (10Bit) (1.1: (16 Bit INTEGER)
Alle Kommandos werden intern auf Widerspruchsfreiheit überprüft und im RETURNCODE protokolliert.

Folgende RETURNCODES (ASCII Zeichen) sind Implementiert:

0 = no error

1 = syntax error

2 = data error

3 = buffer overflow

4 = bad data set

5 = adjustment error

6 = timing error (interne Datenübertragung FC /STORE)

Gerätedatenfeld (DDF)

	D7	D6	D5	D4	D3	D2	D1	D0
CH1	GND	AC	INV1	ON	VOLT/DIV - Zähler 0-13 0000(1mV/DIV)...1101(20V/DIV)
CH2	GND	AC	INV2	ON	VOLT/DIV - Zähler 0-13
VERMODE	Alt.- TRG	Tastkopf CH1: (2.00 0 =  1:1 1 = 10:1	0	CHOP	ADD	Tastkopf CH2: (2.00 0 =  1:1 1 = 10:1	TR-SOURCE 00 = CH1 01 = CH2 1x = EXT
TBA	0	0	ANA SING	MODE TIME/DIV - Zähler Analog: 00hex. - 15hex.{SEA:11hex} 50ns/DIV - 0,5s/DIV{SEA:20ms} Store:(3 04{03(8}hex. - 1Chex 1µs{500ns(8}/DIV - 100s/DIV Store XY:(3 06{05(8}hex. - 1Chex 40MS{100MS(8}/s - 2S/s Store ROLL:(3 12hex. - 1Chex 50mS/s - 100S/s
TBB	B +/- (1=neg. Trigger- flanke)	B-TR	0	MODE TIME/DIV - Zähler Analog: 00hex. - TBA(max.11hex.) 50ns - TBA(max.20ms/DIV) Store:(3 04{03(8}hex. - TBA(max.11hex.) 1µs{500ns(8}/DIV -TBA(max.20ms/DIV)
HORMODE	CT (Compo- nenten- tester)	XY	x10	STORE(3	0	TB-MODE HM1004-2/1505-2 HM305-2 HM1507/1507-2 HM404/407 000: TBA TBA 001: TBA + TBB reserv. 010: TBA alt.TBB SEARCH 011: TBB DELAY TRG
TRIG	+/- (1=neg Trigger- flanke)	0	P-P	NORM	0	Kopplung 0-7 HM1004-2/1505-2 HM305-2 HM1507/1507-2 HM404/407 000: AC AC 001: DC DC 010: HF HF 011: NR LF 100: LF TVLine 101: TVLine TVField 110: TVField LINE 111: LINE  reserv.
STRMODE(3	REF2	REF1	PRE TRIGGER 000 = -75% 001 = -50% 010 = -25% 011 =   0% 100 =  25% 101 =  50% 110 =  75% 111 = 100%	STOREMODE   000 = REF 001 = SGL 010 = ROL (TB=100s..50ms) 011 = ENV 100 = AVR
CH2 VAR	8-BIT
CH1 VAR	8-BIT
TRSEP (9	8-BIT
HOLD OFF	8-BIT
INTENS A	8-BIT
INT B (9	8-BIT

Gerätedatenfeld 1 (DDF1)

	D15	D14	D13	D12	D11	D10	D9	D8	D7	D6	D5	D4	D3	D2	D1	D0
TR A LEV	0	0	0	0	0	0	X	X	X	X	X	X	X	X	X	X
TB A VAR	0	0	0	0	0	0	X	X	X	X	X	X	X	X	X	X
X POS	X (1.1	X (1.1	X (1.1	X (1.1	X (1.1	X (1.1	X	X	X	X	X	X	X	X	X	X
Y2 POS	X (1.1	X (1.1	X (1.1	X (1.1	X (1.1	X (1.1	X	X	X	X	X	X	X	X	X	X
Y1 POS	X (1.1	X (1.1	X (1.1	X (1.1	X (1.1	X (1.1	X	X	X	X	X	X	X	X	X	X
TR B LEV	0	0	0	0	0	0	X	X	X	X	X	X	X	X	X	X
TB B VAR	0	0	0	0	0	0	X	X	X	X	X	X	X	X	X	X
DEL POS	0	0	0	0	0	0	X	X	X	X	X	X	X	X	X	X

Readoutdatenfeld  (RODDF)

	D15	D14	D13	D12	D11	D10	D9	D8	D7	D6	D5	D4	D3	D2	D1	D0
CURSOR  MODE	0	0= CH1 1= CH2	0	0=X 1=Y	1= Trk	0dt 1=f	0	1= Crs Ein	I	N	T	-	R	O	U	T
CURSOR X aktiv	X (1.1	X (1.1	X (1.1	X (1.1	X (1.1	X (1.1	X	X	X	X	X	X	X	X	X	X
CURSOR X passiv	X (1.1	X (1.1	X (1.1	X (1.1	X (1.1	X (1.1	X	X	X	X	X	X	X	X	X	X
CURSOR Y aktiv	X (1.1	X (1.1	X (1.1	X (1.1	X (1.1	X (1.1	X	X	X	X	X	X	X	X	X	X
CURSOR Y passiv	X (1.1	X (1.1	X (1.1	X (1.1	X (1.1	X (1.1	X	X	X	X	X	X	X	X	X	X
(1.05	ab FC-Version 1.05

(1.1	ab FC-Version 1.10

(1.17	ab FC-Version 1.17

(1.19	ab FC-Version 1.19

(2.00	ab FC-Version 2.00

(2	Analog SINGLE MODE:	RES = 1 ->	bereitet auf ein Triggerereignis vor

STORE MODE:	RES = 1 ->	startet die digitale Erfassung neu (Ausnahme SINGLE-Betrieb: Triggerereignis erforderlich)

(3	nur bei Analog- / Digital Scope

(4	Die Daten werden in einen EEPROM geladen. Dieser besitzt nur eine endliche Anzahl ( 1 000 000) Programmierzyklen. Deshalb sollten diese Befehle nicht unnötig oft benutzt werden.

(5	Diese Funktion wird nach Ablauf eines Zählers (ca. 5s) rückgesetzt. Jede weitere Ausgabe vor Ablauf des Zählers setzt diesen erneut und verlängert damit die Zeit bis zum Rücksetzen.

(6	Zwischen dem Senden der einzelnen Kurvenbytes dürfen maximal 2s verstreichen, andernfalls verläßt das Scope den Remote-Zustand.

(7	Für FC-Versionen kleiner 1.05 gilt:

Für (w w) steht (w,w); Komma als ASCII-Zeichen.

Für (w w array) steht (w,w:array); Komma und Doppelpunkt als ASCII-Zeichen.

(8	nur HM1507 und HM1507-2

(9	nur für Geräte mit 2. Zeitbasis

(10	16 Bit INTEGER Werte im Zweierkomplement bezogen auf Rastermitte (1000 bit/DIV)

Bsp. 1:	setze Y Position auf Rastermitte

Ausgabe: 0 dez. = 0 hex.

Bsp. 2:	setze Y Position auf +1 Teil

Ausgabe: 1000 dez. = 3E8 hex.

Bsp. 3:	setze Y Position auf -1 Teil

Ausgabe: 64536 dez. = FC18 hex.

Beispiele

Es folgen einige Beispiele mit detaillierteren Erläuterungen zu den Befehlen.

Die meisten Befehle werden mit den Zeichen CR (ENTER)= 0Dhex und LF = 0Ahex abgeschlossen, bzw. das Scope schließt jede zurückgegebene Zeichenkette mit diesen Zeichen ab.

Befehlsparameter (in Klammer angegeben) können ASCII-Zeichen (a), aber auch Binärwerte (b) sein.

BELL=(a)

Erläuterung:	Dieser Befehl gibt den Ton 2 aus.

Zeichenkette zum Scope:	BELL=2 CR

Zeichenfolge in Hexdarstellung:	42 45 4C 4C 3D 30 0D

Antwort vom Scope:	0 CR LF

Antwort vom Scope in Hexdarst.:	30 0D 0A

CH1=(b)

Erläuterung:	Dieser Befehl schaltet den Kanal1 ein, auf 5mV und AC.

Siehe dazu auch Byte 1 des DDF.

Zeichenkette zum Scope:	CH1= (52hex) CR

Zeichenfolge in Hexdarstellung:	43 48 31 3D 52 0D

Antwort vom Scope:	0 CR LF

Antwort vom Scope in Hexdarst.:	30 0D 0A

ERRBP?

Erläuterung:	Dieser Befehl fragt den Status des Kontrolltones für Fehler ab. 1 heißt Errorbeep ist eingeschaltet, 0 entsprechend aus.

Zeichenkette zum Scope:	ERRBP? CR

Zeichenfolge in Hexdarstellung:	45 52 52 42 50 3F 0D

Antwort vom Scope:	ERRBP:1

Antwort vom Scope in Hexdarst.:	45 52 52 42 50 3A 31

RDWFM1:(ww)

Erläuterung:	Lesen einer Signalkurve von Kanal 1.

Parameter 1:	Startadresse im Erfassungsspeicher = 0 dez. = (00 00)hex.

Parameter 2:	Anzahl zu lesender Bytes = 2048 = (08 00) Hex. Bei der Ausgabe von Worddaten ist zu beachten, das das low byte zuerst ausgegeben wird.

Durch  andere Werte von Startadresse und Anzahl zu lesender Bytes ist es möglich nur Teile der erfaßten Signalform zu lesen.

Zeichenkette zum Scope:	RDWFM1:(00hex)(00hex)(00hex)(08hex) CR

Zeichenfolge in

Hexdarstellung:	52 44 57 46 4D 31 3A 00 00 00 08 0D

Antwort vom Scope in

Hexdarstellung:	52 44 57 46 4D 31 3A 08 00 00 08 XX XX ...

... XX ;(2048 Byte XX)

WFMPRE?

Zeichenkette zum Scope:	WFMPRE?

Antwort vom Scope als

Hexdarstellung:	57 46 4D 50 52 45 3A XX XX C8 00 19 00 YY YY ZZ ZZ

Erläuterung:	Byte 1 bis 7:	WFMPRE:

Byte 8 & 9:	Nummer des Bytes zum Triggerzeitpunkt

Byte 10 & 11:	Auflösung in X-Richtung pro Div. (200)

Byte 12 & 13:	Auflösung in Y-Richtung pro Div. (25)

Byte 14 & 15:	(YY YY) Y1-Position als 16Bit integer Variable normiert auf 25 pro Div., wobei der Wert 0 keine Verschiebung, 25 ein Teil nach oben und -25 ein Teil nach unten verschoben bedeutet.

Byte 16 & 17:	(ZZ ZZ) Y2-Position normiert auf 25 pro Div.

Berechnung der Spannung der abgetasteten Signalform:

Es sei:	UN :	Spannungswert der N-ten Abtastung

25 :	Y-Auflösung pro Div. (siehe WFMPRE?)

Y1Pos :	Y1-Position der erfaßten Signalform (siehe WFMPRE? YY YY)

ByteN :	Wert des Signalformbyte ( siehe RDWFM1 XX)

V/Div :	Teilerstellung (z.B.: 5mV)

Berechnung ohne Beachtung der Y1-Position:

UN =	(ByteN - 128)/25 * V/Div

Mit dieser Methode ist es lediglich möglich Differenzspannunswerte der erfaßten Signalform zu ermitteln, da der Bezug (Nullpotential) fehlt. Soll der Absolutwert der Spannung der Abtastwerte ermittelt werden, so ist die Y-Position in die Berechnung einzubeziehen.

UN =	(ByteN - 128 - Y1Pos)/25 * V/Div

Der Ablenkkoeffizient (V/DIV) ist dem DDF Byte 1 oder mit dem Befehl CH1? zu entnehmen

TRGVAL?

Mit diesem Befehl ist es möglich die Scheitelwerte und den arithmetischen Mittelwert des Meßsignales zu ermitteln. Dazu folgendes Beispiel.

Scopeeinstellung:	Kanal1 ein; 5mV Ablenkempfindlichkeit; DC Eingangskopplung; Tastkopf 1:1; Kalibrator 1kHz; Tastkopf an Kalibratorbuchse angesteckt; Triggerquelle Kanal1; Triggerkopplung AC; Zeitbasis A auf 200µs eingestellt; Analogbetrieb

Auf dem Oszilloskopschirm ist ein positives Rechtecksignal mit einer Amplitude von 4 DIV zu sehen.

Zeichenkette zum Scope:	TRGVAL?

Antwort vom Scope in

Hexdarstellung:	54 52 47 56 41 4C 3A D0 07 30 F8 D0 07 XX XX

Erläuterung:	Byte 1 bis 7:	Zeichenkette TRGVAL:

Byte 8 und 9:	positiver Spitzenwert (Signal)

Byte 10 & 11:	negativer Spitzenwert(Signal)

Byte 12 & 13:	arithmetischer Mittelwert (Signal)

Byte 14 & 15:	reserviert (Wert nicht bestimmt)

Positive und negative Spitzenwerte sind Integerwerte bezogen auf den Mittelwert mit einer Bewertung von 1000/Div.

Es folgt:	07D0 hex. = +2000 dezimal

F803 hex. = -2000 dezimal

Mittelwert:	Um = 2000/1000 * 5mV = 10mV

positiver Spitzenwert:	Upp+ = 2000/1000 * 5mV + Um = 20mV

negativer Spitzenwert:	Upp- = -2000/1000 * 5mV + Um = 0mV

Da der Triggerverstärker nicht kalibriert ist kann es zu Wertabweichungen kommen.


Des weiteren werden folgende Errormeldungen im Readout dargestellt:

0A = ERROR Abgleich Invertsymmetrie  CH1

ermittelt optimale Invertsymmetrie

- Wertebereich an IC3009B überschritten

- Einstellung an R2263 im Abschwächer

0B = ERROR Abgleich Invertsymmetrie  CH2

ermittelt optimale Invertsymmetrie

- Wertebereich an IC3009B (überschritten)

- Einstellung an R2268 im Abschwächer

0C = ERROR Abgleich Triggerarbeitspunkt CH1

ermittelt Triggerarbeitspunkt bei HF  und regelt

diesen bei AC auf gleichen Wert

- Wertebereich an TRGMP (R4041) überschritten

- Einstellung an T4023

0D = ERROR Abgleich Triggerarbeitspunkt CH2

ermittelt Triggerarbeitspunkt bei HF  und regelt

diesen bei AC auf gleichen Wert

- Wertebereich an TRGMP (R4041) überschritten

- Einstellung an T4023

0E = ERROR Abgleich Triggerarbeitspunkt bei XY

stellt Triggerarbeitspunkt bei XY auf 2,5V

- Wertebereich an TRGMP (R4041) überschritten

- Einstellung an T4023

0F = ERROR Abgleich Abschwächer DC Arbeitspunkt CH1

ermittelt Abschwächer AP bei GND = ON und regelt

diesen bei GND = OFF auf gleichen Wert

- Wertebereich an TRGMP (R4041) überschritten

- Einstellung an R2261

10 = ERROR Abgleich Abschwächer DC Arbeitspunkt CH2

ermittelt Abschwächer AP bei GND = ON und regelt

diesen bei GND = OFF auf gleichen Wert

- Wertebereich an TRGMP (R4041) überschritten

- Einstellung an R2270

11 = ERROR Abgleich Variable Gain Balance CH1

ermittelt optimale Var. Gain Balance

- Wertebereich an TRGMP (R4041) überschritten

- Einstellung an R2057

12 = ERROR Abgleich Variable Gain Balance CH2

ermittelt optimale Var. Gain Balance

- Wertebereich an TRGMP (R4041) überschritten

- Einstellung an R2165

13 = ERROR PP Spannung

PP Spannung ungleich 0 Volt

14 = ERROR Abgleich CH1/2 Strahlpossition

- Strahlpossition überschreitet Wertebereich

15 = ERROR Arbeitspunkt Y Dif. OV (IC3009B)

- Wertebereich am IC3009B.7 ist überschritten

16 = ERROR Trigger Offsetabgleich

- Triggerkomperator kippt nicht

17 = ERROR Abgleich X Position

- X Position überschreitet Wertebereich

18 = ERROR Abgleich XY Position

- XY Position überschreitet Wertebereich


Im automatischen STORE AMPLIFIER Abgleich können folgende Errorcodes auftreten:

Gruppe 1

  48	= Arbeitspkt. A Standard Mode

  49	= AD 4V Arbpkt. A Standard Mode

  4A	= A 2V Arbpkt. A Standard Mode

  4B	= Arbeitspkt. B Standard Mode

  4C	= A 4V Arbpkt. B Standard Mode

  4D	= A 2V Arbpkt. B Standard Mode

Gruppe 2

  50	= Arbeitspkt. A ADD Mode

  51	= A 4V Arbpkt. A ADD Mode

  52	= A 2V Arbpkt. A ADD Mode

Gruppe 3

  58	= Arbeitspkt. CH1 A Interlaced Mode

  59	= A 4V Arbpkt. CH1 A Interlaced Mode

  5A	= A 2V Arbpkt. CH1 A Interlaced Mode

  5B	= Arbeitspkt. CH1 B Interlaced Mode

  5C	= A 4V Arbpkt. CH1 B Interlaced Mode

  5D	= A 2V Arbpkt. CH1 B Interlaced Mode

Gruppe 4

  60	= Arbeitspkt. CH2 A Interlaced Mode

  61	= A 4V Arbpkt. CH2 A Interlaced Mode

  62	= AD 2V Arbpkt. CH2 A Interlaced Mode

  63	= Arbeitspkt. CH2 B Interlaced Mode

  64	= AD 4V Arbpkt. CH2 B Interlaced Mode

  65	= AD 2V Arbpkt. CH2 B Interlaced Mode

Gruppe 5

  68	= Arbeitspkt. A ADD Interlaced Mode

  69	= AD 4V Arbpkt. A ADD Interlaced Mode

  6A	= AD 2V Arbpkt. A ADD Interlaced Mode

  6B	= Arbeitspkt. B ADD Interlaced Mode

  6C	= AD 4V Arbpkt. B ADD Interlaced Mode

  6D	= AD 2V Arbpkt. B ADD Interlaced Mode


Beim Einschalten führt das Scope einen Tastatur Check durch. Dabei werden gedrückte bzw. verklemmte Tasten erkannt und durch folgende Errorcodes auf dem Schirm dargestellt. Erfolgt eine Errormeldung ohne Errorcode sind eventuell mehrere Tasten

verklemmt.

Tasten Errorcode

00 = TRIGGER UP

08 = NORM/PP-AT

09 = TRTIGGER DWN

12 = SAVE

1A = SAVE / RECALL gleichzeitig

1B = RECALL

24 = STORE-RESET

2D = STORE-MODE DWN

35 = STORE UP DWN gleichzeitig

36 = STORE-MODE UP

3F = PRE-TR

40 = SLOPE

52 = CH2-Ein-Aus

5A = ADD (DUAL CH2 gleichzeitig)

5B = DUAL

63 = CHOP

64 = CH1-Ein-Aus

76 = DEL-TRIGGER

9B = TRIGGER-SRC

6D = A ALT B TB

7F = AUTOSET

80 = INV2

92 = INV1

AD = INTENS

C9 = TRACE SEPARATION

B6 = x10

D2 = GND2

DB = DC2

E4 = GND1

ED = DC1

F6 = STORE-HOLD

FF = STORE-REF

Error-Töne:

- langer Ton(ca. 2s):	EEPROM defekt

- 2 lange Töne (ca. 2x 2s):	PLD Mainboard defekt

- 4 kurze Töne :	RO/DIGI Board defekt

- 6 kurze Töne :	unbekanntes Gerät

Fehlerhinweis: 	PLD auf Mainbord defekt

RO/DIGI Board defekt